In recent years, accompanying a development in techniques for information communication using networks such as the Internet, service provision to customers via networks is being carried out in a variety of fields. In one such service, screens rendered on a server are provided to client devices via the network as in so called cloud-based gaming. In such a service, it is possible to update a display of a screen on a client device by the server acquiring information of an operation performed on the client device, for example, and rendering a screen changed in accordance with the operation, and providing the screen to the client device. In other words, in cloud-based gaming, the user can play a game and have the same experience as on a device having a sufficient rendering capabilities even if he or she does not have a client device comprising sufficient rendering capabilities.
Note, amongst games provided via a network, there exist network games of a multiple simultaneous participant type such as MMORPGs (Massively Multiplayer Online Role-Playing Game), and network games in which a plurality of users alternatively use the same field in a game. In these kinds of network games, the fields that an operation character that the user operates can be moved to are the same, but game screens, that are different based on changes in the progress caused by the operation of the user and the movement path, are provided to the client devices. In other words, game screens rendered based on viewpoint parameters change in accordance with operations of the user (position and direction) are generated for each client device, and these are not necessarily matching.
In the rendering of a 3D scene, various maps (or textures) are used, and those that are fixed results that are independent of viewpoint parameters (viewpoint independent maps) are included amongst these maps. For example, maps such as light maps, and shadow maps used for providing an effect based on a light source indicate the same results independent of viewpoint parameters. Specifically, a portion of the reflections and the shading that occur due to a light source for a single point of a rendering object arranged in a field always produce a fixed result from any direction viewed, as long as the object and the light source are static. In other words, for rendering of a 3D scene, if a light map or a shadow map is generated and stored beforehand, it can be considered that usage upon rendering is possible as long as there is no influence due to dynamic elements.
On the other hand, in cases where this kind of viewpoint independent map is used, the following kinds of problems can arise in application to rendering objects for which the distance to the viewpoint is close. For example, in cases where shading for a single light source applied to a rendering object of the 3D scene is rendered using a shadow map, whether or not the shading appears in the pixels of the screen to be generated depends on whether or not another object exists between the rendering object rendered for the pixel and the light source (cf. Depth buffer shadow mapping method). The pixels of the shadow map indicate the distance up until the first point that a light bundle that passes through the pixel in a projection from the light source hits on the rendering object. Accordingly, if the distance between the pixel and the light source obtained in a case where the pixels of the screen are transformed for a projection of the light source is larger than a distance shown by a corresponding shadow map pixel, shading appears, and if it is the same or smaller, shading does not appear. A floor surface and rendering objects that exist near a viewpoint for screen rendering in a scene occupy a relatively large region in the screen, but due to the resolution of the shadow map, one pixel of the map is used repeatedly for shading determinations of a plurality of pixels of that region. In other words, in cases where the resolution of the shadow map and the number of pixels of the rendering object rendered for the viewpoint do not correspond, because the shadow map is stretched and used for the shading determination, the possibility exists that aliasing will arise in the shading that appears, and an unnatural impression will be given.
As a method of improving this kind of problem of aliasing occurring in shading, a method in which the shadow map is generated at a high-resolution from the start so that the shading can be rendered at an ideal sharpness independent of the resolution of the rendering object in the screen can be considered. However, because a shadow map with a high-resolution requires a large data capacity, and furthermore usually multiple light sources arranged in a scene exist, memory regions may be pressed just by maintaining the shadow maps. Also, as explained above, in a system that provides screens generated on the server side, because it can be considered that screens for the same 3D scene will be provided in parallel to a plurality of client devices, generating a viewpoint independent map for each client device is not realistic. Also, because for rendering objects arranged in positions in the scene where the viewpoint cannot get close to, the number of pixels that occupy the screen when rendered is always small, a viewpoint independent map having a high resolution may be unnecessary. Also, because a predetermined calculation is necessary for the generation of the viewpoint independent map, the more pixels in the map, the more it may cause problems from the perspective of calculation amount.